As a client/server type distributed storage system (or equipment), the Andrew File System (hereinafter referred to as AFS) is known (Non-Patent Literature 1).
This system is a system that gives each file an identifier having a location field in it, acquires a location of this file from information of its location field, and accesses to an object file. For this purpose, a location database for managing location fields is installed on an arbitrary site on a network, and when an client accesses a file, the client inquires the location field included in the identifier from the location database, and accesses to the location that the location database replied.
Moreover, a file that was accessed once is cached by a storage device, a cache server, or the like, which improves an access speed thereto next time and thereafter.
[Non-patent Literature 1]
“Kernel of the most advanced UNIX” (Japanese translation), pp. 373–374 and 376 written by Uresh Vahalia, translated by Hideyuki Tokuda, Yoshito Tobe, and Etsuyuki. Tsuda, published by Pearson Education Japan in May 15, 2000 (The Original, “UNIX Internals: The New Frontiers,” by Prentice Hall, Inc. 1996)
However, in the conventional example, when a local storage device has a file, the file can be read or written quickly, but when the local storage device does not have the file, the client will inquire its location from the location database, receive a reply from the location database, and do remote access to an object storage device; consequently, there is a problem that this remote access cannot be made quickly.
Moreover, in the case where the client accesses to a cache by remote access, since exclusive control of access is mandatory in order to ensure consistency of data, there is a problem that availability is lowered. For example, when there are a plurality of WRITE requests to the same file, the system will accept an earliest WRITE request from a client and refuse subsequent WRITE requests.
Furthermore, in the case of doing replication whereby original data of the storage device that serves as a reference is replicated in other storage device located remotely, it takes a time to complete the replication. If there occurs an access to the storage device that is a destination of replication before the replica (duplicate) has been completed, there is a problem that the access request will be an error because a replica of the file has not been created, hence reducing reliability.